﻿//Include("Mz");
//Include("Mz.G");

/**
 * @fileoverview 给一个HTML元素添加指定的className
 * @author meizz
 * @version 20090426
 *
 * @namespace Mz.addClass
 * @param {HTMLElement} element HTML对象
 * @param {String} className 需要添加的样式名
 */
Mz.addClass = function(element, className){
    if (!(element = Mz.G(element))) {return;}

    var s  = element.className;
    var cn = className.replace(/^\s+|\s+$/g, "");
    //如果className里带有[.*?]等正则表达式敏感的字符，拼接成正则会有问题
    //\x241是字符串 $1 ，$符号在很多的模板里是一个关键字符
    var r  = new RegExp("(^| )" + cn.replace(/(\W)/g,"\\\x241") + "( |\x24)");

    if (!r.test(s)) {
        //用数组的拆分与合并可以去除一些多余的空格
        element.className = s.split(/\s+/).concat(cn).join(" ");
    }
};
//映射一个更精简的方法名
Mz.ac = Mz.addClass;